// JavaScript Document
/*jQuery检查输入框是否为必填项Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**
 * 检查输入框是否为必填项
 * 输入参数：
 * required    : 是否为必填项，true 和 false ，true 表示为必填项 (*)
 * onFocus    : 获得焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onBlur    : 失去焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)(验证失败提示)
 * onSucces    : 验证成功的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * tipId    : 用于显示提示信息的控件id (*)
 * 组合例子    : {required:true,onFocus:"Required",onBlur:"@error",onSucces:"Success",tipId:"tipid"}
 */
$.fn.extend({
    checkRequired:function(inputArg){
        if(inputArg.required){
            if($(this).is("input") || $(this).is("textarea")){
				
                //绑定获得焦点事件
                $(this).bind("focus",function(){
                    if(inputArg.onFocus!=undefined){
                        $("#" + inputArg.tipId).html(inputArg.onFocus);
                    }
                });
                
                //绑定失去焦点事件
                $(this).bind("blur",function(){
					
                    if($(this).val()!=undefined && $(this).val()!=""){  
						if($(this).val().length<6||$(this).val().length>20){ 
						 	$("#" + inputArg.tipId).html("<a style='color:red'>6-20个字符！！</a>");
						 }
						 else{
                        	$("#" + inputArg.tipId).html(inputArg.onSucces);
						 }
                    }else{
                        $("#" + inputArg.tipId).html(inputArg.onBlur);
                    }
                });
            }
        }
    }
});
/*jQuery控件值之间的比较Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**
 * 控件值之间的比较
 * 输入参数:
 * onFocus    : 获得焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onEmpty    : 输入项为空文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onSucces    : 验证成功的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onBlur    : 失去焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)(验证失败提示)
 * dataType    : 数据类型参数(text,number,date) 
 * comType    : 比较的类型(=,>,>=,<,<=,!=)
 * tipId    : 用于显示提示信息的控件id (*)
 * targetId    : 比较的目标控件Id
 */

$.fn.extend({
    checkCompare:function(inputArg){
        if($(this).is("input") || $(this).is("textarea")){
            //获得焦点绑定
            $(this).bind("focus",function(){
                if(inputArg.onFocus!=undefined){
                    $("#" + inputArg.tipId).html(inputArg.onFocus);
                }
            });
            
            //失去焦点绑定
            $(this).bind("blur",function(){
                var targetValue=$("#"+inputArg.targetId).val();
                if(targetValue!=undefined && targetValue!=null){
                    if($(this).val()!=undefined && $(this).val()!=""){
                        if(inputArg.dataType=="text"){
                            switch(inputArg.comType){
                                case "=":
                                    if(targetValue==$(this).val()){
                                        $("#" + inputArg.tipId).html(inputArg.onSucces);
                                    }else{
                                        $("#" + inputArg.tipId).html(inputArg.onBlur);
                                    }
                                break;
                                case "!=":
                                    if(targetValue!=$(this).val()){
                                        $("#" + inputArg.tipId).html(inputArg.onSucces);
                                    }else{
                                        $("#" + inputArg.tipId).html(inputArg.onBlur);
                                    }
                                break;
                            }
                        }else if(inputArg.dataType=="number"){
                            if (isNaN(targetValue) == false && isNaN($(this).val()) == false) {
                                switch (inputArg.comType) {
                                    case "=":
                                        if (targetValue == $(this).val()) {
                                            $("#" + inputArg.tipId).html(inputArg.onSucces); 
                                        }
                                        else {
                                            $("#" + inputArg.tipId).html(inputArg.onBlur);
                                        }
                                        break;
                                    case "!=":
                                        if (targetValue != $(this).val()) {
                                            $("#" + inputArg.tipId).html(inputArg.onSucces); 
                                        }
                                        else {
                                            $("#" + inputArg.tipId).html(inputArg.onBlur);
                                        }
                                        break;
                                    case ">":
                                        if ($(this).val() > targetValue) {
                                            $("#" + inputArg.tipId).html(inputArg.onSucces); 
                                        }
                                        else {
                                            $("#" + inputArg.tipId).html(inputArg.onBlur);
                                        }
                                        break;
                                    case ">=":
                                        if (($(this).val() >= targetValue)&&$(this).val() == targetValue) {
                                            $("#" + inputArg.tipId).html(inputArg.onSucces);
                                        }
                                        else {
                                            $("#" + inputArg.tipId).html(inputArg.onBlur);
                                        }
                                        break;
                                    case "<":
                                        if ($(this).val() < targetValue) {
                                            $("#" + inputArg.tipId).html(inputArg.onSucces); 
                                        }
                                        else {
                                            $("#" + inputArg.tipId).html(inputArg.onBlur);
                                        }
                                        break;
                                    case "<=":
                                        if ($(this).val() <= targetValue) {
                                            $("#" + inputArg.tipId).html(inputArg.onSucces);
                                        }
                                        else {
                                            $("#" + inputArg.tipId).html(inputArg.onBlur);
                                        }
                                        break;
                                }
                            }else{
                                $("#" + inputArg.tipId).html(inputArg.onBlur);
                            }
                        }else if(inputArg.dataType=="date"){
                            
                        }
                    }else{
                        $("#" + inputArg.tipId).html(inputArg.onEmpty);
                    }
                }
            });
        }
    }
});
/**
 * 正则表达式的验证
 * 输入参数:
 * onFocus    : 获得焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onEmpty    : 输入项为空文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onSucces    : 验证成功的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onBlur    : 失去焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)(验证失败提示)
 * regExp    : 正则表达式
 * tipId    : 用于显示提示信息的控件id (*)
 */

$.fn.extend({
    checkRegExp:function(inputArg){
        if ($(this).is("input") || $(this).is("textarea")) {
            //获得焦点绑定
            $(this).bind("focus", function(){
                if (inputArg.onFocus != undefined) {
                    $("#" + inputArg.tipId).html(inputArg.onFocus);
                }
            });
            
            //获得失去焦点事件
            $(this).bind("blur",function(){
                if($(this).val()!=undefined && $(this).val()!=""){
                    if ($(this).val().match(inputArg.regExp)) { 
                        $("#" + inputArg.tipId).html(inputArg.onSucces);
                    }else{
                        $("#" + inputArg.tipId).html(inputArg.onBlur);
                    }
                }else{
                    $("#" + inputArg.tipId).html(inputArg.onEmpty);
                }
            });
        }
    }
});
